﻿#define _CRT_SECURE_NO_WARNINGS  1
//一定要动手，例子不管多么简单，建议至少自己手敲一遍看看是否理解了里头的细枝末节。
//一定要学会思考，思考为什么要这样，而不是那样。还要举一反三地思考
#include<iostream>
#include<assert.h>
#include<string>
#include<vector>
using namespace std;
//int main()
//{
//	/*vector<int> v{ 1, 2, 3, 4 };
//	auto it = v.begin();
//	while (it != v.end())
//	{
//		if (*it % 2 == 0)
//			it = v.erase(it);
//		else
//			++it;
//	}
//	it = v.begin();
//	while (it != v.end())
//	{
//		cout << *it << " ";
//		it++;
//	}*/
//	vector<int> v{ 1, 2, 3, 4 };
//	auto it = v.begin();
//	while (it != v.end())
//	{
//		if (*it % 2 == 0)
//			v.erase(it);
//		++it;
//	}
//	return 0;
//}
int main()
{
    class Solution {
    public:
        vector<vector<int>> generate(int numRows) {
            vector<vector<int>> vv(numRows);
            for (size_t i = 0; i < vv.size(); i++)
            {
                vv[i].resize(i + 1, 0);
                vv[i].front() = vv[i].back() = 1;//vector中front和back函数是取出容器中第一和最后元素
            }
            for (size_t i = 0; i < vv.size(); i++)
            {
                for (size_t j = 0; j < vv[i].size(); j++)
                {
                    if (vv[i][j] == 0)
                    {
                        vv[i][j] = vv[i - 1][j-1] + vv[i - 1][j];
                    }
                }
            }
            return vv;
            

        }
    };
}